home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / Miscellaneous Disk Images / ProDOS Basic Examples / STARTUP.bas < prev   
Encoding:
BASIC Source File  |  1984-07-26  |  3.7 KB  |  98 lines

  1. 10 D$ =  CHR$(4): DIM INSLOT$(7)
  2. 20 FALSE = 0:TRUE = 1:APPLEIIE = FALSE:L$ = "LANGUAGE CARD":U$ = "USED"
  3. 30  PRINT  CHR$(21)
  4. 40  REM  
  5. 50 IN = 6:UP = 11:C$ = " "
  6. 60  HOME 
  7. 70 S1$ = "***************************************"
  8. 80 S2$ = "*                                     *"
  9. 90  PRINT S1$: PRINT S2$
  10. 100  PRINT "*  PRODOS BASIC PROGRAMMING EXAMPLES  *"
  11. 110  PRINT S2$
  12. 120  PRINT "* COPYRIGHT APPLE COMPUTER, INC. 1983 *"
  13. 130  PRINT S2$: PRINT S1$
  14. 140 ID$(0) = "USED"
  15. 150 ID$(1) = "PRINTER"
  16. 160 ID$(2) = "MOUSE/JOYSTICK"
  17. 170 ID$(3) = "I/O CARD"
  18. 180 ID$(4) = "MODEM"
  19. 190 ID$(5) = "AUDIO CARD"
  20. 200 ID$(6) = "CLOCK"
  21. 210 ID$(7) = "MASS STORAGE"
  22. 220 ID$(8) = "80-COLUMN CARD"
  23. 230 ID$(9) = "NETWORK CARD"
  24. 240  REM  SLOTS
  25. 250  REM 
  26. 260  REM  MARK ALL SLOTS AS UNUSED
  27. 270  REM  MARK USED SLOTS AS USED
  28. 280  REM 
  29. 290 SLOTS =  PEEK(49049):V = 128
  30. 300  FOR I = 7 TO 0  STEP  -1
  31. 310 INSLOT$(I) = "EMPTY"
  32. 320  IF SLOTS > = V  THEN INSLOT$(I) = U$:SLOTS = SLOTS -V
  33. 330 V = V/2
  34. 340  NEXT I
  35. 350  REM 
  36. 360  REM   FIND THE VARIOUS CARDS
  37. 370  REM 
  38. 380  FOR SLOT = 1 TO 7
  39. 390 SADDR =  -16384 +256 *SLOT
  40. 400  IF  PEEK(SADDR +23) = 201  AND  PEEK(SADDR +55) = 207  AND  PEEK(SADDR +76) = 234  THEN INSLOT$(SLOT) = "SILENTYPE": GOTO 460
  41. 410  IF  PEEK(SADDR) = 8  AND  PEEK(SADDR +1) = 120  AND  PEEK(SADDR +2) = 40  THEN INSLOT$(SLOT) = "CLOCK": GOTO 460
  42. 420  IF  PEEK(SADDR +5) = 24  AND  PEEK(SADDR +7) = 56  THEN INSLOT$(SLOT) = "COMMUNICATIONS CARD": GOTO 460
  43. 430  IF  PEEK(SADDR +5) = 56  AND  PEEK(SADDR +7) = 24  THEN INSLOT$(SLOT) = "SERIAL CARD"
  44. 440  IF  PEEK(SADDR +5) = 72  AND  PEEK(SADDR +7) = 72  THEN INSLOT$(SLOT) = "PARALLEL CARD": GOTO 460
  45. 450  IF  PEEK(SADDR +11) = 1  THEN  IF  INT( PEEK(SADDR +12)/16) <10  THEN INSLOT$(SLOT) = ID$( INT( PEEK(SADDR +12)/16))
  46. 460  NEXT SLOT
  47. 470  REM 
  48. 480  REM  IDENTIFY MACHINE TYPE
  49. 490  REM 
  50. 500 MACHID =  PEEK(49048)
  51. 510  IF MACHID > = 192  THEN TI$ = "APPLE ///":MACHID = MACHID -192: GOTO 550
  52. 515  IF MACHID > = 180  THEN TI$ = "Apple //c":MACHID = MACHID -128:APPLEIIE = TRUE: GOTO 550
  53. 520  IF MACHID > = 128  THEN TI$ = "Apple //e":MACHID = MACHID -128:APPLEIIE = TRUE: GOTO 550
  54. 530  IF MACHID > = 64  THEN TI$ = "APPLE ][ PLUS":MACHID = MACHID -64: GOTO 550
  55. 540 TI$ = "APPLE ]["
  56. 550  REM 
  57. 560  REM 
  58. 570  REM  GET NAME OF BOOT DISK
  59. 580  REM  PREFIX RETURNS NAME OF LAST ACCESSED DISK
  60. 590  REM 
  61. 600  PRINT D$;"PREFIX": INPUT "";PREFIX$
  62. 610  VTAB 8: PRINT "STARTUP DISK: ";PREFIX$
  63. 620  REM 
  64. 630  REM  DETERMINE MEMORY SIZE
  65. 640  REM 
  66. 650  PRINT : PRINT "YOUR ";TI$;" HAS:": PRINT : HTAB 5
  67. 660  IF MACHID > = 48  THEN  PRINT "128K ";:MACHID = MACHID -48:INSLOT$(0) = L$: GOTO 690
  68. 670  IF MACHID > = 32  THEN  PRINT "64K ";:MACHID = MACHID -32:INSLOT$(0) = L$: GOTO 690
  69. 680  IF MACHID > = 16  THEN  PRINT "48K ";:MACHID = MACHID -16: GOTO 690
  70. 690  PRINT "OF RANDOM ACCESS MEMORY"
  71. 700  PRINT : HTAB 5: IF  PEEK(57344) = 76  THEN  PRINT "APPLESOFT IN ROM": PRINT : GOTO 720
  72. 710  PRINT "INTEGER BASIC IN ROM": PRINT 
  73. 720  REM 
  74. 730  REM  FOR EACH DISK DEVICE
  75. 740  REM  IDENTIFY DRIVE TYPE
  76. 750  REM 
  77. 760  FOR J = 48946 TO 48946 + PEEK(48945)
  78. 770 DEVICE =  PEEK(J): IF DEVICE > = 128  THEN DEVICE = DEVICE -128
  79. 780 SLOT = 7
  80. 790  IF DEVICE > = 16 *SLOT  THEN DEVICE = DEVICE -(16 *SLOT): GOTO 820
  81. 800 SLOT = SLOT -1: IF SLOT >0 GOTO 790
  82. 810  GOTO 850
  83. 820  IF DEVICE = 4  THEN INSLOT$(SLOT) = "PROFILE"
  84. 830  IF DEVICE = 0  THEN INSLOT$(SLOT) = "DISK DRIVE"
  85. 840  IF DEVICE = 13  THEN INSLOT$(SLOT) = "UNIFILE/DUOFILE"
  86. 850  NEXT J
  87. 860  REM 
  88. 870  REM  LOOK FOR 80-COLUMN CARD
  89. 880  REM 
  90. 890  IF MACHID > = 8  THEN MACHID = MACHID -8
  91. 900  IF MACHID > = 4  THEN MACHID = MACHID -4
  92. 910  IF MACHID > = 2  THEN INSLOT$(3) = "80-COLUMN CARD"
  93. 920  REM 
  94. 930  REM  PRINT SLOT ASSIGNMENTS
  95. 940  REM 
  96. 950  FOR I = APPLEIIE TO 7
  97. 960  PRINT "    SLOT ";I;": ";INSLOT$(I): NEXT I
  98. 970  END